#pragma once

#include "MBDataTypes.h"

/**
  *	An MBVec4 is a conventional vector with four elements. The data type of these
  * four elements is double.
  */
class MBVec4
{
	friend class MBMatrix4x4;

public:
	MBVec4( void );
	MBVec4( const double *values );
	MBVec4( const double &v1, const double &v2, const double &v3, const double &v4 );

	double &operator[]( const MBuint &index );
	const double &operator[]( const MBuint &index ) const;

private:
	/** The four double values defining the 4D vector */
	double mValues[4];
};